MongoDB Java-তে MongoDB Java Driver ব্যবহার করে ডাটাবেস থেকে ডকুমেন্ট পড়া (retrieve) সহজ এবং কার্যকরী। MongoDB-তে ডকুমেন্ট পড়তে আমরা দুটি প্রধান মেথড ব্যবহার করতে পারি:
find(): এটি MongoDB-এর একটি কোলেকশন থেকে একাধিক ডকুমেন্ট রিটার্ন করে।findOne(): এটি কেবলমাত্র একটি ডকুমেন্ট রিটার্ন করে (প্রথম মিল পাওয়া ডকুমেন্ট)।
এখন আসুন, এই দুইটি মেথডের ব্যবহারের উদাহরণ দেখি।
1. find() মেথড:
find() মেথড MongoDB-র Collection থেকে একাধিক ডকুমেন্ট রিটার্ন করে। এটি সাধারণত ফিল্টারিং ও কন্ডিশন প্রয়োগ করে ব্যবহার করা হয়।
find() এর Syntax:
FindIterable<Document> find();
FindIterable<Document> find(Bson filter);
find(): এটি সমস্ত ডকুমেন্ট রিটার্ন করে।find(Bson filter): এটি একটি BSON ফিল্টার প্যারামিটার নেয়, যা কেবল নির্দিষ্ট শর্ত পূর্ণকারী ডকুমেন্টগুলো রিটার্ন করবে।
find() মেথডের উদাহরণ:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.Iterator;
public class MongoFindExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডেটাবেস নির্বাচন করা
MongoDatabase database = mongoClient.getDatabase("testDatabase");
// কোলেকশন নির্বাচন করা
MongoCollection<Document> collection = database.getCollection("students");
// সমস্ত ডকুমেন্ট খুঁজে বের করা
Iterator<Document> cursor = collection.find().iterator();
// ডকুমেন্টগুলো প্রিন্ট করা
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
// MongoClient বন্ধ করা
mongoClient.close();
}
}
ব্যাখ্যা:
find()মেথডটিstudentsকোলেকশনের সব ডকুমেন্ট রিটার্ন করে এবংiterator()মেথডের মাধ্যমে তাদের প্রিন্ট করা হয়।
2. findOne() মেথড:
findOne() মেথড কেবল একটি ডকুমেন্ট রিটার্ন করে (যেটি প্রথমে মেলে)। এটি বিশেষভাবে সেই ক্ষেত্রে ব্যবহৃত হয় যখন আপনি একক ডকুমেন্ট পেতে চান, যেমন ইউজারের ID অনুসারে একটি ডকুমেন্ট খোঁজা।
findOne() এর Syntax:
Document findOne();
Document findOne(Bson filter);
findOne(): এটি প্রথম ডকুমেন্ট রিটার্ন করে।findOne(Bson filter): এটি ফিল্টার প্যারামিটার হিসেবে একটি BSON শর্ত নেয় এবং শর্ত পূর্ণকারী প্রথম ডকুমেন্ট রিটার্ন করে।
findOne() মেথডের উদাহরণ:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoFindOneExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডেটাবেস নির্বাচন করা
MongoDatabase database = mongoClient.getDatabase("testDatabase");
// কোলেকশন নির্বাচন করা
MongoCollection<Document> collection = database.getCollection("students");
// একটি ডকুমেন্ট খুঁজে বের করা
Document student = collection.find().first(); // প্রথম ডকুমেন্ট রিটার্ন
// ডকুমেন্ট প্রিন্ট করা
if (student != null) {
System.out.println(student.toJson());
} else {
System.out.println("No document found");
}
// MongoClient বন্ধ করা
mongoClient.close();
}
}
ব্যাখ্যা:
find().first()ব্যবহার করা হয়েছে যাতে প্রথম ডকুমেন্টটি রিটার্ন করা হয়।- এই কোডটি students কোলেকশন থেকে প্রথম ডকুমেন্ট বের করে এবং তার JSON ফর্ম্যাটে আউটপুট দেখায়।
3. find() এবং findOne() এর মধ্যে পার্থক্য:
| মেথড | ফাংশন | ফলাফল |
|---|---|---|
find() | একাধিক ডকুমেন্ট রিটার্ন করে। | একটি কোলেকশন থেকে সব ডকুমেন্ট রিটার্ন করে। |
findOne() | প্রথম ম্যাচ হওয়া একটিমাত্র ডকুমেন্ট রিটার্ন করে। | কেবল একটি ডকুমেন্ট রিটার্ন করে। |
4. find() এবং findOne() এর সাথে ফিল্টার ব্যবহার:
MongoDB-তে আপনি find() এবং findOne() মেথডে ফিল্টার ব্যবহার করে নির্দিষ্ট ডকুমেন্ট খুঁজে পেতে পারেন। ফিল্টার একটি BSON অবজেক্ট হয়, যা শর্ত জানায় কেমন ডকুমেন্ট খুঁজতে হবে।
find() এবং findOne() ফিল্টার সহ ব্যবহার:
find() with filter:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoFindWithFilterExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডেটাবেস নির্বাচন করা
MongoDatabase database = mongoClient.getDatabase("testDatabase");
// কোলেকশন নির্বাচন করা
MongoCollection<Document> collection = database.getCollection("students");
// filter তৈরি করা
Document filter = new Document("age", 25); // age 25 এর সকল স্টুডেন্ট খুঁজবে
// filter দিয়ে find() মেথড ব্যবহার করা
for (Document doc : collection.find(filter)) {
System.out.println(doc.toJson());
}
// MongoClient বন্ধ করা
mongoClient.close();
}
}
findOne() with filter:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoFindOneWithFilterExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডেটাবেস নির্বাচন করা
MongoDatabase database = mongoClient.getDatabase("testDatabase");
// কোলেকশন নির্বাচন করা
MongoCollection<Document> collection = database.getCollection("students");
// filter তৈরি করা
Document filter = new Document("name", "John");
// filter দিয়ে findOne() মেথড ব্যবহার করা
Document student = collection.find(filter).first();
// ডকুমেন্ট প্রিন্ট করা
if (student != null) {
System.out.println(student.toJson());
} else {
System.out.println("No document found");
}
// MongoClient বন্ধ করা
mongoClient.close();
}
}
ব্যাখ্যা:
find()এবংfindOne()মেথডে BSON filter ব্যবহার করে শর্ত অনুসারে ডকুমেন্ট খোঁজা যায়। উদাহরণস্বরূপ, আমরা age বা name-এর মাধ্যমে নির্দিষ্ট ডকুমেন্ট খুঁজে বের করেছি।
find()এবংfindOne()MongoDB-তে ডকুমেন্ট রিড করার জন্য ব্যবহৃত দুটি গুরুত্বপূর্ণ মেথড।find()একাধিক ডকুমেন্ট রিটার্ন করে, যখনfindOne()কেবল প্রথম ম্যাচ হওয়া একটিমাত্র ডকুমেন্ট রিটার্ন করে।- আপনি BSON filter ব্যবহার করে নির্দিষ্ট শর্ত অনুসারে ডকুমেন্ট খুঁজে পেতে পারেন।
- এই মেথডগুলো MongoDB ড্রাইভারের সাহায্যে Java অ্যাপ্লিকেশনগুলিতে MongoDB ডাটাবেসের সাথে কার্যকরীভাবে ইন্টারঅ্যাক্ট করতে সহায়ক।
Read more